<script>
	import config from 'config.js'
	import util from 'utils/util.js'
	import Vue from 'vue'

	export default {
		globalData: {
			bookshelfChanged: false
		},
		onLaunch: function() {
			// 初始化系统
			this.initSystem()
			// 自动登录检测
			this.autoLogin()
			// 处理推送消息
			// this.handlePush()
		},
		onShow: function() {
			if (config.debug) console.log('App Show')
			// 自动登录检测
			// this.autoLogin()
		},
		onHide: function() {
			if (config.debug) console.log('App Hide')
		},
		methods: {
			/**
			 * 处理推送消息
			 */
			// handlePush() {
			// 	// #ifdef APP-PLUS
			// 	const _self = this
			// 	const _handlePush = function(message) {
			// 		// 获取自定义信息
			// 		let payload = message.payload
			// 		try {
			// 			// JSON解析
			// 			payload = JSON.parse(payload)
			// 			// 携带自定义信息跳转应用页面
			// 			uni.navigateTo({
			// 				url: '/pages/xxx?data=' + JSON.stringify(payload)
			// 			})
						
			// 		} catch(e) {}	
			// 	}
			// 	// 事件处理
			// 	plus.push.addEventListener('click', _handlePush)
			// 	plus.push.addEventListener('receive', _handlePush)
			// 	// #endif
			// },
			/**
			 * app整包更新检测
			 */
			appUpgrade(platform) {
				if (platform !== 'android') {
					return
				}
				//#ifdef APP-PLUS
				plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
					let params = {
						appid: plus.runtime.appid,
						version: wgtinfo.versionCode,
						platform: platform
					}
					this.$minApi.findUpgradeApp(params).then(appRes => {
						if (appRes.appid) {
							uni.showModal({
								title: "下载更新提示",
								content: appRes.note,
								showCancel: false,
								confirmText: '确定',
								success: sucRes => {
									if (sucRes.confirm) {
										plus.runtime.openURL(appRes.url)
										// uni.downloadFile({
										//     url: appRes.url,
										//     success: res => {}
										// })
									}
								}
							})
						}
					})
				})
				//#endif
			},
			/**
			 * 自动登录
			 * 判断本地是否有账号信息，如果有，就自动重新登录
			 */
			autoLogin() {
				// 判断本地是否有账号信息，如果有，就自动重新登录
				let user = util.getUser()
				if (user  && user.username && user.password) {
					const params = {
						username: user.username,
						password: user.password
					}
					util.request('/admin/login/token', params, 'POST').then(res => {
						uni.hideLoading()
						if(res.code === 0){
							let token = res.data.access_token
							util.setToken(token)
							uni.switchTab({
								url: decodeURIComponent('/pages/home/index')
							})	
						}
					})
				} else {
					// 如果本地没有账号信息，就提示用户必须登录
					uni.showModal({
						title: '未登录',
						content: '您未登录，需要登录后才能继续',
						showCancel: false,
						confirmText: '确定',
						success: res => {
							if (res.confirm) {
								util.logout()
								uni.reLaunch({
									url: '/pages/login/login'
								})
							}
						}
					})
				}
			},
			/**
			 * 初始化系统
			 */
			initSystem() {
				const self = this
				uni.getSystemInfo({
					success: function(e) {
						// app整包更新检测
						self.appUpgrade(e.platform)

						// #ifndef MP
						Vue.prototype.StatusBar = e.statusBarHeight;
						if (e.platform == 'android') {
							Vue.prototype.CustomBar = e.statusBarHeight + 50;
						} else {
							Vue.prototype.CustomBar = e.statusBarHeight + 45;
						};
						// #endif

						// #ifdef MP-WEIXIN
						Vue.prototype.StatusBar = e.statusBarHeight;
						let custom = wx.getMenuButtonBoundingClientRect();
						Vue.prototype.Custom = custom;
						Vue.prototype.CustomBar = custom.bottom + custom.top - e.statusBarHeight;
						// #endif		

						// #ifdef MP-ALIPAY
						Vue.prototype.StatusBar = e.statusBarHeight;
						Vue.prototype.CustomBar = e.statusBarHeight + e.titleBarHeight;
						// #endif
						if (config.debug) console.log(e)
						util.setSysInfo(e)
					}
				})
				
				Vue.prototype.ColorList = [{
						title: '嫣红',
						name: 'red',
						color: '#e54d42'
					},
					{
						title: '桔橙',
						name: 'orange',
						color: '#f37b1d'
					},
					{
						title: '明黄',
						name: 'yellow',
						color: '#fbbd08'
					},
					{
						title: '橄榄',
						name: 'olive',
						color: '#8dc63f'
					},
					{
						title: '森绿',
						name: 'green',
						color: '#39b54a'
					},
					{
						title: '天青',
						name: 'cyan',
						color: '#1cbbb4'
					},
					{
						title: '海蓝',
						name: 'blue',
						color: '#0081ff'
					},
					{
						title: '姹紫',
						name: 'purple',
						color: '#6739b6'
					},
					{
						title: '木槿',
						name: 'mauve',
						color: '#9c26b0'
					},
					{
						title: '桃粉',
						name: 'pink',
						color: '#e03997'
					},
					{
						title: '棕褐',
						name: 'brown',
						color: '#a5673f'
					},
					{
						title: '玄灰',
						name: 'grey',
						color: '#8799a3'
					},
					{
						title: '草灰',
						name: 'gray',
						color: '#aaaaaa'
					},
					{
						title: '墨黑',
						name: 'black',
						color: '#333333'
					},
					{
						title: '雅白',
						name: 'white',
						color: '#ffffff'
					},
				]
			}
		}
	}
</script>

<style>
	/*每个页面公共css */
	/* @import url("static/css/bookchat.css"); */
	/* 引入官方css库 */
	@import './common/css/uni.css';
	/* 引入动画库 */
	@import './common/animate.css';
	/* 公共样式 */
	@import './common/css/common.css';
	@import './common/qiun.css';
	/* 引入自定义图标库 */
	@import "colorui/icon.css";
	@import "colorui/main.css";
	@import "common/css/iconfont.css";
	.nav-list {
			display: flex;
			flex-wrap: wrap;
			padding: 0px 40upx 0px;
			justify-content: space-between;
		}
	
		.nav-li {
			padding: 30upx;
			border-radius: 12upx;
			width: 45%;
			margin: 0 2.5% 40upx;
			background-image: url(https://cdn.nlark.com/yuque/0/2019/png/280374/1552996358352-assets/web-upload/cc3b1807-c684-4b83-8f80-80e5b8a6b975.png);
			background-size: cover;
			background-position: center;
			position: relative;
			z-index: 1;
		}
	
		.nav-li::after {
			content: "";
			position: absolute;
			z-index: -1;
			background-color: inherit;
			width: 100%;
			height: 100%;
			left: 0;
			bottom: -10%;
			border-radius: 10upx;
			opacity: 0.2;
			transform: scale(0.9, 0.9);
		}
	
		.nav-li.cur {
			color: #fff;
			background: rgb(94, 185, 94);
			box-shadow: 4upx 4upx 6upx rgba(94, 185, 94, 0.4);
		}
	
		.nav-title {
			font-size: 32upx;
			font-weight: 300;
		}
	
		.nav-title::first-letter {
			font-size: 40upx;
			margin-right: 4upx;
		}
	
		.nav-name {
			font-size: 28upx;
			text-transform: Capitalize;
			margin-top: 20upx;
			position: relative;
		}
	
		.nav-name::before {
			content: "";
			position: absolute;
			display: block;
			width: 40upx;
			height: 6upx;
			background: #fff;
			bottom: 0;
			right: 0;
			opacity: 0.5;
		}
	
		.nav-name::after {
			content: "";
			position: absolute;
			display: block;
			width: 100upx;
			height: 1px;
			background: #fff;
			bottom: 0;
			right: 40upx;
			opacity: 0.3;
		}
	
		.nav-name::first-letter {
			font-weight: bold;
			font-size: 36upx;
			margin-right: 1px;
		}
	
		.nav-li text {
			position: absolute;
			right: 30upx;
			top: 30upx;
			font-size: 52upx;
			width: 60upx;
			height: 60upx;
			text-align: center;
			line-height: 60upx;
		}
	
		.text-light {
			font-weight: 300;
		}
	
		@keyframes show {
			0% {
				transform: translateY(-50px);
			}
	
			60% {
				transform: translateY(40upx);
			}
	
			100% {
				transform: translateY(0px);
			}
		}
	
		@-webkit-keyframes show {
			0% {
				transform: translateY(-50px);
			}
	
			60% {
				transform: translateY(40upx);
			}
	
			100% {
				transform: translateY(0px);
			}
		}
</style>
